热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

差错|首部_计算机网络数据链路层

篇首语:本文由编程笔记#小编为大家整理,主要介绍了计算机网络数据链路层相关的知识,希望对你有一定的参考价值。数据链路层1

篇首语:本文由编程笔记#小编为大家整理,主要介绍了计算机网络 数据链路层相关的知识,希望对你有一定的参考价值。



数据链路层


  • 1.点对点信道的数据链路层
    • 1.1数据链路和帧
    • 1.2三个基本问题

  • 2.点对点协议PPP
    • 2.1 PPP协议的特点
    • 2.2 PPP协议的帧格式
    • 2.3 PPP协议的工作状态

  • 3.使用广播信道的数据链路层
    • 3.1 局域网的数据链路层
    • 3.2 CSMA/CD协议
    • 3.3 使用集线器的星状拓扑
    • 3.4 以太网的信道利用率
    • 3.5 以太网的MAC层

  • 4.扩展的以太网
    • 4.1 物理层扩展以太网
    • 4.2数据链路层扩展以太网
    • 4.3 虚拟局域网(VLAN)

  • 5.高速以太网


1.点对点信道的数据链路层

1.1数据链路和帧

链路(物理链路);一条无源的点到点的物理线路段(中间没有任何交换节点)
数据链路(逻辑链路):把实现协议的硬件和软件(用适配器(网卡)实现)加到链路上,构成数据链路。(适配器包括数据链路层和物理层。
数据通信协议 叫做通信规程,所以在数据链路层规程与协议是同义词
数据链路层传送的是帧。


1.2三个基本问题

封装成帧:在IP数据报前后分别添加首部和尾部,构成帧。(首部和尾部的一个重要作用是帧界定
帧的最前面是控制字符SOH,最后面是EOT,表示帧的结束

透明传输:无论发送什么样的比特组合数据,这些数据都能按照原样没有差错的通过数据链路层。
数据部分的某个字节的二进制代码和SOH或EOT一样,数据链路层就会找到错误帧边界。
解决方案:字节填充或字符填充。在SOH或EOT的前面插入转义字符ESC,而转义字符也出现在数据中,就在转义字符前面差异一个转义字符。

差错控制:有可能传输错误比特。通过循环冗余检验CRC控制。
CRC原理:

并不能确定哪一个或者那几个比特出现了差错。
实例:

求余运算过程

区分:CRC是检错方法,FCS是冗余码,CRC并非获取FCS的唯一方法

CRC技术只能做到无差错接受:凡是接受的帧,都以非常接近1的概率认为帧在传输的过程中没有差错。(数据链路层接受的帧无传输差错。
但CRC不能做到“无差错传输”或者“可靠传输”

注意:
无比特差错与无传输差错是不同的。
经过CRC能实现无比特差错,但不是可靠传输。
要做到无差错传输,就必须加上确认和重传机制。(纠错码

数据链路层的歇息都不是可靠传输协议。


2.点对点协议PPP

用户到ISP的链路使用PPP协议


2.1 PPP协议的特点

应满足的要求:简单,封装成帧,透明性,多种网络层协议,多种类型链路,差错检测,检测连接状态,最大传送单元,网络层地址协商,数据压缩协商,
不需要的功能:纠错,流量控制,序号,多点线路,半双工或单工链路
PPP协议组成有三个部分:1.将IP数据报封装到串行链路的方法 2.链路控制协议(LCP) 3.网络控制协议(NCP)


2.2 PPP协议的帧格式


MTU(最大传输单元)

PPP在异步传输时,使用字符填充法:
0x7E 转换成 (0x7D, 0x5E)。
0x7D 转变成 (0x7D, 0x5D)
ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节

PPP同步传输链路时,比特填充:
在发送端,发现有 5 个连续 1,则填入一个 0;接收端对每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除。

PPP协议不提供序号和确认的可靠传输


2.3 PPP协议的工作状态


3.使用广播信道的数据链路层

3.1 局域网的数据链路层

局域网最主要的特点是:1.网络为一个单位所拥有; 2. 地理范围和站点数目均有限。
局域网优点:1. 具有广播功能,从一个站点可很方便地访问全网。2. 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。3. 提高了系统的可靠性、可用性和残存性。
媒体共享技术:静态划分信道:频分、时分、波分、码分复用。 动态媒体接入控制:1.随机接入,2.受控接入,如多点线路探寻,或轮询
数据链路层的两个子层:1. 逻辑链路控制 LLC 子层;2. 媒体接入控制 MAC 子层。

适配器功能:1.进行串行/并行转换。2. 对数据进行缓存。3. 在计算机的操作系统安装设备驱动程序。4.实现以太网协议
计算机通过适配器和局域网进行通信


3.2 CSMA/CD协议

CSMA/CD:载波监听多点接入/碰撞检测
工作流程如下图:

争用期:两倍的传播时延。经过争用期的时间检测,才能肯定不会发生碰撞。

退避算法:发生碰撞的站在停止发送数据后,要推迟一个随机时间才能再发送数据。


  1. 基本退避时间取为争用期 。
  2. 从整数集合 [0, 1, … , (2^k - 1)] 中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。
  3. K = Min[重传次数, 10]
  4. 当 k ≤10 时, k 等于重传次数。
  5. 当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。

例:

10 Mbit/s 以太网争用期的长度为51.2us。即可发送512bit,64字节
因为如果发生冲突,就一定在前64字节之内,所以最短有效帧长为64字节
而10 Mbit/s下51.2us传播的距离约为5km,意味着以太网最大端到端长度为5km

帧最小间隔:9.6us,一个站检测到总线开始空闲后,还要等待9.6us才能再次发送数据。为的是刚刚收到的数据帧的站接受的缓存来得及处理,做好接受下一帧的准备。

CSMA/CD 协议的重要特性:
1.只能进行半双工通信
2.每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
3.这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。


3.3 使用集线器的星状拓扑


3.4 以太网的信道利用率


成功发送一帧占用信道的时间为T0+tao,比帧的发送时间多一个端到端延时。(因为发送完之后,还要传输。
定义参数:
为了尽可能提高利用率,对a的要求是:1. 当数据率一定时,以太网的连线的长度受到限制
2.以太网的帧长不能太短,否则 T0 的太小
理想情况下(以太网各站发送数据不会产生碰撞),极限信道利用率为:

但现实中,利用率达到30%就已经重载。


3.5 以太网的MAC层

MAC层的硬件地址:
48位MAC地址结构如下:前三个字节为注册机构向厂家分配的组织唯一标识符;后三个字节为厂家自行指派的扩展唯一标识符。

规定:第一个字节的最低位为I/G位,=0时,地址字段表示单站地址;=1时,表示组地址。所谓为0和为1时,一个地址块可以分别生成2^23 个单个地址和 2的23次方个组地址。48个1为广播地址,只能作为目的地址使用。
规定,第一个字节的最低第二位为 G/L位,=0时,是全球管理; =1时,是本地管理。
适配器从网络上每收到一个 MAC 帧就首先检查MAC 地址。如果是发往本站的帧则收下,然后处理;否则就将此帧丢弃。
发往本站的帧包含三种:单播,广播,多播。
所有适配器至少能识别两种帧:单播和广播。有的适配器可以识别多播地址。

MAC帧的格式:

对于检查的无效MAX帧就简单的丢弃,以太网不负责重传丢弃的帧。
帧间最小间隔:9.6us,(96bit发送时间),一个站在检测到总线开始空闲后 ,还要等9.6us才能再次发送数据,为的是刚接收到的数据帧来得及处理。


4.扩展的以太网

现在的逻辑应该是:现在物理层可扩展,再在链路层扩展。


4.1 物理层扩展以太网

使用光纤扩展:用光纤和一对调制解调器练到集线器,容易使主机和几公里之外集线器连接。

使用集线器扩展:将多个以太网连成更大、多级星状结构的以太网。
优点:1.扩大以太网覆盖范围,2.使在不同碰撞域的网上的计算机能跨碰撞域通信
缺点:1.扩大了碰撞域,但未提高吞吐量。2.不同碰撞域使用不同数据率,就不用集线器互连。


4.2数据链路层扩展以太网

早期使用网桥,现在使用交换机。(交换机=多接口的网桥
每个接口一般都工作在全双工的方式。交换机具有并行性:同时联通多对接口,是多对主机同时通信。

以太网交换机特点:1.相互通信的主机独占传输媒体,无碰撞的传输数据。2.以太网交换机的接口有存储器,可以在接口繁忙时缓存传进来的帧。3.交换机是即插即用的设备,内部的交换表通过自学习算法建立。4.交换机内部使用了专用的交换结构芯片,用硬件转发,转发速率比用软件转发的网桥快很多。5.交换机性能远超集线器,价格不贵。
以太网交换机优点:1.用户独享带宽,增加了容量。(见下图分析)2.从总线到交换式以太网时,所有设备的软硬件等不需要任何改动。3.有多种速率的接口,方便各种不同情况使用。


交换机的交换方式:存储转发(先缓存,再处理),直通方式:接收到数据后立即决定转发接口,(缺点:不检查差错就直接转发出去,所以可能出错。

交换机的自学习功能:


自学习算法可能存在环路问题。为了解决该问题,采用STP:
交换机使用了生成树协议(STP):不改变网络拓扑结构,使所有的路径是无环路的树状结构,从而消除兜圈子的现象。

早期以太网采用无源的总线结构,使用CSMA/CD 协议,半双工;现在,大多采用以太网交换机的星状结构,不使用CSMA/CD,全双工,但仍然采用以太网的帧结构。


4.3 虚拟局域网(VLAN)

只是局域网给用户提供的一种服务,并不是一种新型局域网。

虚拟局域网限制了接收广播信息的工作站数,是网络不会因传播过多广播信息而引起性能恶化。
优点:改善了性能,简化了管理,降低了成本,改善了安全性。
划分局域网的方法:
1.基于交换机端口:简单常用的方法,属于第一层划分虚拟局域网。缺点:但不允许用户移动。

2.基于网卡的MAC地址:根据用户的MAC地址划分,属于第二层次的划分,允许用户移动。缺点:需要输入管理大量的MAC地址。若MAC地址改变,则需要管理员重新配置VLAN

3.基于协议类型:根据以太网帧的第三个字段类型确定属于哪一个虚拟局域网,属于第二层次划分虚拟局域网。

4.基于IP子网地址:根据以太网帧的第三个字段“类型”和IP分组首部中的源IP地址划分。属于第三层划分方法。

5.基于高层应用或服务:根据高层次应用或服务或者他们的组合划分。更灵活,更复杂。


5.高速以太网

速率超过100Mbit/s的以太网称为高速以太网。下面简单介绍主要有哪些
100BASE-T 以太网,又称为快速以太网。
吉比特以太网
10 吉比特以太网 (10GE) 和更快的以太网
使用以太网进行宽带接入


推荐阅读
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了游戏开发中的人工智能技术,包括定性行为和非定性行为的分类。定性行为是指特定且可预测的行为,而非定性行为则具有一定程度的不确定性。其中,追逐算法是定性行为的具体实例。 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • 网卡工作原理及网络知识分享
    本文介绍了网卡的工作原理,包括CSMA/CD、ARP欺骗等网络知识。网卡是负责整台计算机的网络通信,没有它,计算机将成为信息孤岛。文章通过一个对话的形式,生动形象地讲述了网卡的工作原理,并介绍了集线器Hub时代的网络构成。对于想学习网络知识的读者来说,本文是一篇不错的参考资料。 ... [详细]
author-avatar
生活是多么美好888
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有